//
//  CZStatusCell.swift
//  weibo10
//
//  Created by apple on 16/5/20.
//  Copyright © 2016年 apple. All rights reserved.
//

import UIKit

 //cell要显示原创微博，也能显示转发微博
class CZStatusCell: UITableViewCell
{
//cell要显示内容需要模型，控制器的TableView数据源给cell赋值模型
    var status: CZStatus?
        {
        
    didSet
    {
        // 2  cell给原创view设置模型
        originalView.status = status
        }
    }
   
    
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    //注册cell后系统创建cell的时候就会调用这个构造函数
    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        prapareUI()
    }

   private func prapareUI()
   {
    //添加控件
    
    contentView.addSubview(originalView)
    contentView.addSubview(bottomView)
    
    
    //添加约束
    originalView.snp_makeConstraints { (make) -> Void in
        make.top.equalTo(contentView).offset(10)
        
        make.leading.equalTo(contentView)
        make.trailing.equalTo(contentView)
        
        //高度需要根据内容来确定，先测试就写死一个高度
//        let height = Int(arc4random_uniform(100)) + 50
//        make.height.equalTo(height)
       
    }
        //bottomView的约束
        bottomView.snp_makeConstraints { (make) -> Void in
            
            make.leading.equalTo(contentView)
            
            make.top.equalTo(originalView.snp_bottom)
            
            make.trailing.equalTo(contentView)
            
            make.height.equalTo(37)
            
        }
        
        
    
    //根据cell的约束自动计算行高，系统是去获取contentView的高度作为cell的高度
    
       contentView.snp_makeConstraints { (make) -> Void in
        make.leading.equalTo(self)
        make.top.equalTo(self)
        make.trailing.equalTo(self)
        
        make.bottom.equalTo(bottomView)
    }
    
    
    }
    
   //MARK: - 懒加载
    //原创view
    private lazy var originalView: CZStatusOriginalView = CZStatusOriginalView()
    
    //bottomView
    private lazy var bottomView: CZStatusBottomView = CZStatusBottomView()
    
}
